package com.xyy.saas.payment.common;

import com.xyy.saas.payment.common.enums.AmountTypeEnum;

import java.util.ArrayList;
import java.util.List;

/**
 * @author wangzeqi
 */
public class PinganCreditConstant {

    public static final String PINGAN_SETTLE = "分账";
    public static final String PINGAN_PAY_ACCT_TRANS = "会员间交易";
    public static final String PINGAN_FREEZE = "冻结";

    /**
     * 平安贷支付 自营
     */
    public static final List<String> selfSupportCreditPayProcessAmountTypes = new ArrayList<String>() {
        private static final long serialVersionUID = 6729430066357196122L;

        {
            // 分账
            add("");
            // 会员间交易
            add(AmountTypeEnum.PINGAN_CREDIT_PAY_ACCT_TRANS.name());
        }
    };

    /**
     * 平安贷支付 非自营
     */
    public static final List<String> unSelfSupportCreditPayProcessAmountTypes = new ArrayList<String>() {
        private static final long serialVersionUID = -7054047234611874699L;

        {
            // 分账
            add("");
            // 会员间交易
            add(AmountTypeEnum.PINGAN_CREDIT_PAY_ACCT_TRANS.name());
            // 冻结
            add(AmountTypeEnum.CREDIT_FREEZE.name());
        }
    };

    /**
     * 平安贷退款
     * 自营：会员间交易退款 + 分账撤销
     * pop：退款解冻/会员间交易（退款垫资） + 会员间交易退款 + 分账撤销 顺序一致性，只校验后两步
     */
    public static final List<String> refundCreditPayProcessAmountTypes = new ArrayList<String>() {
        private static final long serialVersionUID = 753384283409296363L;

        {
            // 会员间交易退款
            add(AmountTypeEnum.PINGAN_CREDIT_PAY_ACCT_TRANS_REFUND.name());
            // 分账撤销
            add(AmountTypeEnum.PINGAN_CREDIT_PAY_SETTLE_REFUND.name());
        }
    };

}
